﻿using FlashPay.EF.Models;
using FlashPay.Entity.Request.Order;
using FlashPay.Entity.Response.Order;
using System;
using System.Collections.Generic;

namespace FlashPay.Service.Order
{
    public interface OrderService
    {
        void AddOrderRecord(OrderRecordRequest<String> model);
        void EditOrderRecord(OrderRecordRequest<String> model);
        void EditOrderRecordReceiptDate(OrderRecordRequest<String> model);
        void EditOrderRecordPayDate(OrderRecordRequest<String> model);
        void EditOrderRecordDeliveryNo(OrderRecordRequest<String> model);
        void DeleteOrderRecord(OrderRecordRequest<String> model);
        void GetOrderRecord(OrderRecordRequest<List<OrderRecordResponse>> model);
        void GetAllOrderRecordUserId(OrderRecordRequest<List<Int32>> model);
        void PassOrderRecordDeposit(OrderRecordRequest<String> model);
        void PassOrderRecordPay(OrderRecordRequest<String> model);
        void PassOrderRecordReceipt(OrderRecordRequest<String> model);

        void AddOrderRecordDetail(OrderRecordDetailRequest<String> model);
        void EditOrderRecordDetail(OrderRecordDetailRequest<String> model);
        void EditOrderRecordDetailActualCountAndUnitPrice(OrderRecordDetailRequest<String> model);
        void DeleteOrderRecordDetail(OrderRecordDetailRequest<String> model);
        void GetOrderRecordDetail(OrderRecordDetailRequest<List<OrderRecordDetailResponse>> model);
    }
}
